Dynomotion

Group: DynoMotion Message: 4624 From: mrosenfield2 Date: 4/23/2012
Subject: Weird axis counting
Tom,
Another question:
The knee on my mill moves slowly - about 3IPM. When I command a 1" step, it accurately moves 1". However, the axis counter gets to 1.000 while the axis still as 0.3" left to travel.
So the counter quits changing on the display while the axis is still moving.
I have tried this move a number of times, and it is always the same - the axis display moves ahead of the axis. Never seems to lose position, though.
Any thoughts as to what is going on?

Thanks,
Michael Rosenfield
Group: DynoMotion Message: 4626 From: Tom Kerekes Date: 4/23/2012
Subject: Re: Weird axis counting
Hi Michael,
 
You are probably commanding a move faster than what the motor/amplifier is capable of moving.  The DRO display normally shows the commanded trajectory (although there is an option to display measured Encoder Positions).  The motor is lagging far behind.  Eventually the trajectory stops and then the motor is able to catch up.  This is not good because the motion is not following the position, velocity, acceleration of the trajectory.  Rather the amplifier and tuning settings are determining the motion.  If you had a small Max Following Error KFLOP would detect a fault and disable the axis.  If you dis a similar move with the same Acceleration, Velocity, Jerk(infinite), and Distance on the Step Response Screen this would be obvious.   The solution is to reduce the allowed velocity to something the motor can actually do.  Also check if you are allowing the output to go to full +/-10V (Max Output = 2047).  
 
Regards
TK
 
 

Group: DynoMotion Message: 4628 From: Michael Rosenfield Date: 4/23/2012
Subject: Re: Weird axis counting
I will check this.
What is the difference between MaxErr and MaxFollowingError?
 
Thanks,
Michael
 
Group: DynoMotion Message: 4629 From: Tom Kerekes Date: 4/23/2012
Subject: Re: Weird axis counting
Hi Michael,
 
Max Error = clamp the error at this value.  So for example with a Max Error of 100 counts if the error somehow becomes a large value such as 10,000 counts the servo will respond as if the error was only 100 counts.  This can be useful in abnormal cases for example if the axis is manually forced far off position and released.  Rather than reacting violently and saturating the amplifier in a way that would likely grossly overshoot the target, the servo can be made to respond more reasonably until the error reduces to a small value.
 
Max Following Error = disables the axis if the error (difference between commanded and actual positions) ever exceeds this value.
 
Note that when a small Max Following Error is used the Max Error parameter is unlikely to ever come into play as the axis will be disabled beforehand.
 
See here for exactly how Max Error, Max Integrator, and Max Output are implemented:
 
 
Regards
TK
 
  

Group: DynoMotion Message: 4630 From: mrosenfield@hotmail.com Date: 4/23/2012
Subject: Re: Weird axis counting
Ok, that makes perfect sense.
Now, how do the parameters in the init file compare with the parameters in TP?
TP doesn't read the specs from init, I suppose; but they have to match those specs -
so that TP can plan moves that the hardware is capable of making?
Michael
Sent from my Verizon Wireless Phone


-----Original message-----
From: Tom Kerekes <tk@...>
To:
"DynoMotion@yahoogroups.com" <DynoMotion@yahoogroups.com>
Sent:
Mon, Apr 23, 2012 22:52:17 GMT+00:00
Subject:
Re: [DynoMotion] Weird axis counting

 

Hi Michael,
 
Max Error = clamp the error at this value.  So for example with a Max Error of 100 counts if the error somehow becomes a large value such as 10,000 counts the servo will respond as if the error was only 100 counts.  This can be useful in abnormal cases for example if the axis is manually forced far off position and released.  Rather than reacting violently and saturating the amplifier in a way that would likely grossly overshoot the target, the servo can be made to respond more reasonably until the error reduces to a small value.
 
Max Following Error = disables the axis if the error (difference between commanded and actual positions) ever exceeds this value.
 
Note that when a small Max Following Error is used the Max Error parameter is unlikely to ever come into play as the axis will be disabled beforehand.
 
See here for exactly how Max Error, Max Integrator, and Max Output are implemented:
 
 
Regards
TK
 
  

Group: DynoMotion Message: 4632 From: Tom Kerekes Date: 4/23/2012
Subject: Re: Weird axis counting
Hi Michael,
 
It is important to understand the there are two different types of motion they are referred to as independent and coordinated.  Independent motions are when each axis moves on an independent trajectory (even though multiple axes may be moving at the same time).  Rapid moves (G0), Jogging, Step Response Moves, and homing moves (C program moves) are independent motions that use the settings in KFLOP (set by the Init.c) file.  These are 3rd order motions that are smooth in the sense that Jerk is limited so that Acceleration (=torque=force=current) is applied gradually rather than instantly applied creating a large shock.  Coordinated motions are used for GCode paths defined with G1,G2, G3 commands.  The trajectory planner is only capable of planning 2nd order motion which involves limiting Acceleration and Velocity (Jerk is infinite).  The settings in the Trajectory Planner Screen are for the Coordinated motion.  To make things more confusing KFLOP doesn't know about the system resolution so its parameters are in counts or steps.  The Trajectory Planner knows about the system resolution so its parameters are in inches.  The max Acceleration and max Velocity settings for each type of motion are not necessarily the same.  It is common to be able to do higher acceleration and velocity when Jerk is limited.  To test infinite Jerk type of motion using KMotion's Step Response Screen temporarily set the Jerk to infinity (1000X of the Acceleration).
 
Regards
TK

Group: DynoMotion Message: 4634 From: Michael Rosenfield Date: 4/23/2012
Subject: Re: Weird axis counting
Yup, you were 100% correct!
I had good settings for short moves KFlop, but not good settings for KMotionCNC and TP. Plus, the axis moves so slowly that the error was building up over long moves. I couldn't see this in the Step/Move screen because it move took about 4.5 seconds.
All fixed now!
Many Thanks!
 
Michael